Go에서 부분 문자열 추출
Ethan Miller
Product Engineer · Leapcell

Key Takeaways
- Go 문자열은 인덱스 범위를 사용하여 부분 문자열 추출이 가능합니다.
strings
패키지는 부분 문자열 연산을 위한Contains
,Index
,Split
과 같은 함수를 제공합니다.strings.Builder
는 성능이 중요한 애플리케이션을 위해 효율적인 문자열 조작을 제공합니다.
Go에서 부분 문자열을 추출하는 것은 슬라이스와 strings
패키지를 사용하여 달성할 수 있습니다. 이 기사에서는 Go에서 부분 문자열을 추출하는 다양한 방법을 살펴보고 명확성을 위해 예제를 제공합니다.
슬라이스 사용
Go 문자열은 기본적으로 바이트 슬라이스입니다. 시작 및 끝 인덱스를 지정하여 부분 문자열을 추출할 수 있습니다.
package main import ( "fmt" ) func main() { str := "Hello, World!" substr := str[7:12] fmt.Println(substr) // Output: World }
이 예제에서 str[7:12]
는 인덱스 7부터 인덱스 12(미포함)까지의 부분 문자열을 추출합니다.
참고: Go는 UTF-8 인코딩을 사용하므로 멀티바이트 문자의 경우 인덱싱이 예상대로 작동하지 않을 수 있습니다. 이러한 경우에는 utf8
패키지를 사용하는 것이 좋습니다.
strings
패키지 사용
strings
패키지는 부분 문자열 작업을 위해 HasPrefix
, HasSuffix
, Contains
, Index
및 Split
과 같은 함수를 제공합니다.
package main import ( "fmt" "strings" ) func main() { str := "Hello, World!" // 문자열에 부분 문자열이 포함되어 있는지 확인 contains := strings.Contains(str, "World") fmt.Println(contains) // Output: true // 부분 문자열의 인덱스 찾기 index := strings.Index(str, "World") fmt.Println(index) // Output: 7 // 문자열 분할 parts := strings.Split(str, ", ") fmt.Println(parts) // Output: [Hello World!] }
효율적인 문자열 조작을 위해 strings.Builder
사용
여러 문자열 연결 또는 조작이 필요한 시나리오의 경우 strings.Builder
는 문자열을 빌드하는 효율적인 방법을 제공합니다.
package main import ( "fmt" "strings" ) func main() { var builder strings.Builder builder.WriteString("Hello") builder.WriteString(", ") builder.WriteString("World!") result := builder.String() fmt.Println(result) // Output: Hello, World! }
결론
Go에서 부분 문자열 추출은 직접 인덱싱을 위한 슬라이스 또는 더 고급 작업을 위한 strings
패키지를 사용하여 수행할 수 있습니다. 이러한 방법을 이해하면 Go 애플리케이션에서 효과적인 문자열 조작이 가능합니다.
FAQs
인덱스 범위를 사용하여 슬라이싱하십시오 (예: str[7:12]
).
utf8
패키지를 사용하여 멀티바이트 문자를 올바르게 관리하십시오.
문자열 연결을 최적화하고 메모리 할당을 줄입니다.
Leapcell은 Go 프로젝트 호스팅을 위한 최고의 선택입니다.
Leapcell은 웹 호스팅, 비동기 작업 및 Redis를 위한 차세대 서버리스 플랫폼입니다.
다국어 지원
- Node.js, Python, Go 또는 Rust로 개발하십시오.
무제한 프로젝트를 무료로 배포
- 사용량에 대해서만 지불하십시오. 요청이나 요금이 없습니다.
탁월한 비용 효율성
- 유휴 요금 없이 사용한 만큼만 지불하십시오.
- 예: 25달러로 평균 응답 시간 60ms에서 694만 건의 요청을 지원합니다.
간소화된 개발자 경험
- 간편한 설정을 위한 직관적인 UI.
- 완전 자동화된 CI/CD 파이프라인 및 GitOps 통합.
- 실행 가능한 통찰력을 위한 실시간 메트릭 및 로깅.
손쉬운 확장성 및 고성능
- 고도의 동시성을 쉽게 처리하기 위한 자동 확장.
- 운영 오버헤드가 전혀 없으므로 구축에만 집중하십시오.
설명서에서 더 자세히 알아보십시오!
X에서 팔로우하세요: @LeapcellHQ